package org.huangrui.spark.scala.core.rdd.operate

import org.apache.spark.{SparkConf, SparkContext}

/**
 * @Author hr
 * @Create 2024-10-17 4:48 
 */
object Spark05_Operate_Transform_groupBy {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setMaster("local[*]").setAppName("spark")
    val sc = new SparkContext(conf)
    val numbs = List(1, 2, 3, 4)
    val rdd = sc.parallelize(numbs, 2)

    // TODO RDD的方法：groupBy,按照指定的规则对数据进行分组
    // groupBy会将数据源中的每一个数据进行分组判断，根据返回的分组key进行分组
    // 相同的key值的数据会放置在一个组中
    def groupFunction(num: Int) = {
      num % 2
    }
    rdd.groupBy(groupFunction).collect().foreach(println)

    sc.stop()
  }
}
